//6. 编写函数,要求用指针做形参，实现将二维数组(行列相同)的进行转置（行列数据互换）： int(*p)[N]
#include<stdio.h>
#define N 3
#define M 3
void replacement(int (*p)[M])
{
	int t;
	register int i = 0,j = 0;
	for(; i < N; i++)
	{
		for(j = N - 1; j >= i; j--)
		{
			t = *(*(p+i)+j);
			*(*(p+i)+j) = *(*(p+j)+i);
			*(*(p+j)+i) = t;
		}
	}
}
void print(int arr[][M])
{
	register int i = 0, j = 0;
	for(i = 0; i < N; i++)
	{
		for(j = 0; j < M; j++)
			printf("%3d",arr[i][j]);
		printf("\n");
	}
}
int main()
{
	int arr[N][M] = {{1,2,3},{4,5,6},{7,8,9}};
	puts("原始数组：");
	print(arr);
	replacement(arr);
	puts("结果数组：");
	print(arr);
	return 0;
}
